package org.genntii.smuserserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.genntii.smcommon.result.PageResult;
import org.genntii.smdomain.doc.VO.UserDocVO;
import org.genntii.smdomain.dto.UserDTO;
import org.genntii.smdomain.dto.UserUpdateDTO;
import org.genntii.smdomain.entity.User;
import org.genntii.smdomain.vo.ArticleVO;
import org.genntii.smdomain.vo.CommentVO;
import org.genntii.smdomain.vo.UserVO;

import java.util.ArrayList;
import java.util.Map;

public interface UserService extends IService<User> {

    void insertSteamId(Long steamId, Long userId);

    Boolean userExists(String username);

    UserVO getUserById(Long userId);

    UserVO dcGetUserById(Long targetId, Long userId);

    UserDocVO getUserDocVOById(Long userId);

    Map<Long, UserVO> getUserListMapByIds(ArrayList<Long> userIds);

    Boolean steamIdExists(String token, String client);

    void updateUser(UserDTO userDTO);

    PageResult<ArticleVO> getArticle(Integer pageSize, Integer pageNum, Long userId);

    UserVO updateUserMessage(UserUpdateDTO userUpdateDTO, Long userId);

    PageResult<CommentVO> getComment(Integer pageSize, Integer pageNum, Long userId);

}
